| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| room_profile_type | RoomProfileType | 否 | 房间模式,参看 RoomProfileType ,默认为普通音视频通话模式,进房后不可更改。 |
| is_auto_publish | boolean | 否 | 是否自动发布音视频流,默认为自动发布。 若调用 setUserVisibility 将自身可见性设为 false,无论是默认的自动发布流还是手动设置的自动发布流都不会进行发布,你需要将自身可见性设为 true 后方可发布。 |
| is_auto_subscribe_audio | boolean | 否 | 是否自动订阅音频流,默认为自动订阅。 进房后,你可以调用 subscribeUserStream 修改订阅设置。 |
| is_auto_subscribe_video | boolean | 否 | 是否自动订阅主视频流,默认为自动订阅。 进房后,你可以调用 subscribeUserStream 修改订阅设置。 屏幕流始终自动订阅,不受该方法影响。 |
房间模式
| 名称 | 值 | 描述 |
|---|---|---|
| kRoomProfileTypeCommunication | 0 | 普通音视频通话模式。 你应在 1V1 音视频通话时,使用此设置。 此设置下,弱网抗性较好。 |
| kRoomProfileTypeLiveBroadcasting | 1 | 直播模式。 当你对音视频通话的音质和画质要求较高时,应使用此设置。 此设置下,当用户使用蓝牙耳机收听时,蓝牙耳机使用媒体模式。 |
| kRoomProfileTypeGame | 2 | 游戏语音模式。此模式下延时较低。 低端机在此模式下运行时,进行了额外的性能优化: + 采集播放采用 16kHz 单通道采样 + 部分低端机型配置编码帧长 40/60 + 部分低端机型关闭软件 3A 音频处理 增强对 iOS 其他屏幕录制进行的兼容性,避免音频录制被 RTC 打断。 |
| kRoomProfileTypeCloudGame | 3 | 云游戏模式。 如果你需要低延迟、高码率的设置时,你可以使用此设置。 此设置下,弱网抗性较差。 |
| kRoomProfileTypeLowLatency | 4 | 低时延模式。SDK 会使用低延时设置。 当你的场景非游戏或云游戏场景,又需要极低延时的体验时,可以使用该模式。 该模式下,音视频通话延时会明显降低,但同时弱网抗性、通话音质等均会受到一定影响。 在使用此模式前,强烈建议咨询技术支持同学。 |
暂停/恢复接收远端的媒体流类型。
| 名称 | 值 | 描述 |
|---|---|---|
| kRTCPauseResumeControlMediaTypeAudio | 0 | 只控制音频,不影响视频 |
| kRTCPauseResumeControlMediaTypeVideo | 1 | 只控制视频,不影响音频 |
| kRTCPauseResumeControlMediaTypeVideoAndAudio | 2 | 同时控制音频和视频 |
视频属性
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| width | number | 否 | 视频的宽 |
| height | number | 否 | 视频的高 |
| fps | number | 否 | 画面每秒传输帧数 |
| maxSendKbps | number | 否 | 最大发送编码码率(kbps),建议使用自动码率。 |
| scaleMode | ScaleMode | 否 | 缩放模式,详见 ScaleMode |
| encodePreference | EncodePreference | 否 | 视频编码质量偏好,详见 EncodePreference |
| 名称 | 值 | 描述 |
|---|---|---|
| Auto | 0 | 自由模式,默认使用FitWithCropping模式 |
| Stretch | 1 | 视频尺寸进行缩放和拉伸以充满显示视窗 |
| FitWithCropping | 2 | 优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉 |
| FitWithFilling | 3 | 优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑 |
视频编码质量偏好
网络不好时的编码策略
| 名称 | 值 | 描述 |
|---|---|---|
| EncodePreferenceDisabled | 0 | 关闭 |
| EncodePreferenceFramerate | 1 | 保持帧率 |
| EncodePreferenceQuality | 2 | 保持画质 |
| EncodePreferenceBalance | 3 | 平衡模式 |
是否开启镜像模式
| 名称 | 值 | 描述 |
|---|---|---|
| kMirrorModeOff | 0 | 不开启 |
| kMirrorModeOn | 1 | 开启 |
屏幕共享对象信息
startScreenVideoCapture 接口的其中一个参数类型
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| type | ScreenCaptureSourceType | 否 | 共享对象类型,屏幕或应用窗体 |
| source_id | number | 否 | 共享对象 ID |
| source_name | string | 否 | 屏幕源名称,采集源为应用窗体有效 |
| application | string | 否 | 应用名称,采集源为应用窗体有效 |
| primaryMonitor | boolean | 否 | 是否主屏,采集源为屏幕时有效 |
| x | number | 否 | 共享对象 x 坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。 |
| y | number | 否 | 共享对象 y 坐标。多显示器的场景下,屏幕坐标系统以主屏左上角为原点 (0, 0),向右向下扩展。 |
| width | number | 否 | 共享对象宽度 |
| height | number | 否 | 共享对象高度 |
| pid | number | 否 | 窗口所属进程 pid,采集源为应用窗体有效 |
屏幕采集对象的类型
| 名称 | 值 | 描述 |
|---|---|---|
| kScreenCaptureSourceTypeUnknown | 0 | 类型未知 |
| kScreenCaptureSourceTypeWindow | 1 | 应用程序的窗口 |
| kScreenCaptureSourceTypeScreen | 2 | 桌面 |
屏幕共享时,内部采集参数配置
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| region_rect | Rectangle | 否 | 采集区域,参看 Rectangle |
| capture_mouse_cursor | MouseCursorCaptureState | 否 | 是否采集鼠标状态,参看 MouseCursorCaptureState |
| filter_config | number[] | 否 | 屏幕过滤设置,参看 ScreenFilterConfig |
| highlight_config | HighlightConfig | 否 | 采集区域的边框高亮设置,参看 HighlightConfig |
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| x | number | 否 | 矩形左上角x坐标 |
| y | number | 否 | 矩形左上角y坐标 |
| width | number | 否 | 矩形宽度 |
| height | number | 否 | 矩形高度 |
内部采集屏幕视频流时,是否采集鼠标信息
| 名称 | 值 | 描述 |
|---|---|---|
| kMouseCursorCaptureStateOn | 0 | 采集鼠标信息 |
| kMouseCursorCaptureStateOff | 1 | 不采集鼠标信息 |
高亮边框标识屏幕共享指定区域
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| enableHighlight | boolean | 否 | 是否显示高亮边框,默认显示。 |
| borderColor | number | 否 | 边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB, 默认为 0xFF29CCA3 |
| borderWidth | number | 否 | 边框的宽度, 默认为: 4 |
屏幕共享对象缩略图
调用 getThumbnail 后返回本对象
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| width | number | 否 | 宽度,单位:像素 |
| height | number | 否 | 高度,单位:像素 |
| data | string | 否 | 数据,采用 base64 编码的 png 字符串 |
共享窗体的图标信息
调用 getWindowAppIcon 后返回本对象
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| width | number | 否 | 宽度,单位:像素 |
| height | number | 否 | 高度,单位:像素 |
| data | string | 否 | 数据,采用 base64 编码的 png 字符串 |
混音配置
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| type | AudioMixingType | 否 | 混音播放类型,详见 AudioMixingType |
| play_count | number | 否 | 混音播放次数, |
混音播放类型
| 名称 | 值 | 描述 |
|---|---|---|
| kAudioMixingTypePlayout | 0 | 仅本地播放 |
| kAudioMixingTypePublish | 1 | 仅远端播放 |
| kAudioMixingTypePlayoutAndPublish | 2 | 本地和远端同时播放 |
| 名称 | 值 | 描述 |
|---|---|---|
| kRemoteUserPriorityLow | 0 | 用户优先级为低(默认值) |
| kRemoteUserPriorityMedium | 100 | 用户优先级为正常 |
| kRemoteUserPriorityHigh | 200 | 用户优先级为高 |
视频订阅配置信息
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| video_index | number | 否 | 订阅的视频流分辨率下标。 当远端用户通过调用 SetVideoEncoderConfig 方法启动发布多路不同分辨率的视频流时,本地用户需通过此参数指定希望订阅的流。 默认值为 0,即订阅第一路流。 如果不想更改之前的设置,可以输入 -1。 |
| priority | number | 否 | 远端用户优先级,参看 RemoteUserPriority ,默认值为 0。 |
本地录制参数配置
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| dir_path | String | 否 | 录制文件保存的绝对路径。你需要指定一个有读写权限的合法路径。 |
| file_type | Number | 否 | 录制存储文件格式 aac : 0 mp4 : 1 |
| recording_type | Number | 否 | 录制媒体类型 只录制音频 : 0 只录制视频 : 1 同时录制音频和视频: 2 |
使用自动语音识别服务所需校验信息
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| app_id | String | 否 | 应用 ID |
| user_id | String | 否 | 用户 ID |
| authorization_type | number | 否 | 鉴权方式,参看 ASRAuthorizationType |
| access_token | String | 否 | 访问令牌 |
| secret_key | String | 否 | 私钥。Signature 鉴权模式下不能为空,token 鉴权模式下为空。参看关于鉴权 |
| cluster | String | 否 | 场景信息,参看业务集群 |
转推直播参数
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| roomID | string | 否 | 当前房间 ID |
| userID | string | 否 | 当前用户 ID |
| uri | string | 否 | 背景图片地址 |
| audioParam | TranscoderAudioParam | 否 | 音频参数 |
| videoParam | TranscoderVideoParam | 否 | 视频参数 |
| layoutRegions | TranscoderLayoutRegion[] | 否 | 布局设置 |
| backgroundColor | string | 否 | 背景颜色 |
| appData | string | 否 | 设置透传的 App 数据 |
音频参数
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| i32_sample_rate | number | 否 | 采样率,单位 Hz,包括 16k, 32k, 44.1k, 48k |
| i32_channel_num | number | 否 | 声道数 |
| i32_bitrate_kbps | number | 否 | 编码码率,单位 Kbps,包括 16kbsp, 32kbps, 64kbps |
| audio_codec_profile | TranscoderAudioCodecProfile | 否 | 音频编码 AAC 等级 |
转推直播音频编码 AAC 等级
| 名称 | 值 | 描述 |
|---|---|---|
| kByteAACProfileLC | 0 | AAC-LC |
| kByteAACProfileMain | 1 | AAC-MAIN |
| kByteAACProfileHEv1 | 2 | HE-AAC v1 |
| kByteAACProfileHEv2 | 3 | HE-AAC v2 |
视频参数
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| i32_width | number | 否 | 宽度 |
| i32_height | number | 否 | 高度 |
| i32_fps | number | 否 | 帧率 |
| i32_gop | number | 否 | gop |
| i32_bitrate_kpbs | number | 否 | 编码码率,单位 Kbps |
| video_codec_profile | TranscoderVideoCodecProfile | 否 | 编码参数 |
| lowLatency | boolean | 否 | 是否开启低延迟 |
转推直播视频编码参数
| 名称 | 值 | 描述 |
|---|---|---|
| kByteH264ProfileBaseline | 0 | H264 格式基本规格编码 |
| kByteH264ProfileMain | 1 | H264 格式主流规格编码 |
| kByteH264ProfileHigh | 2 | H264 格式高规格编码 |
| kByteVC1ProfileBaseline | 3 | ByteVC1 格式基本规格编码 |
| kByteVC1ProfileMain | 4 | ByteVC1 格式主流规格编码 |
| kByteVC1ProfileHigh | 5 | ByteVC1 格式高规格编码 |
布局设置
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| region_id | string | 否 | 合流用户的 ID。必填。 |
| room_id | string | 否 | 媒体流所在房间的房间 ID。 |
| x | number | 否 | 用户视频布局相对画布左侧的偏移量,取值的范围为 [0.0, 1.0) |
| y | number | 否 | 用户视频布局相对画布顶端的偏移量,取值的范围为 [0.0, 1.0) |
| width | number | 否 | 用户视频宽度相对画布宽度的比例,取值的范围为 (0.0, 1.0] |
| height | number | 否 | 用户视频高度相对画布高度的比例,取值的范围为 (0.0, 1.0] |
| alpha | number | 否 | 透明度,取值范围 [0,255] |
| i32_z_order | number | 否 | 用户视频布局在画布中的层级,取值范围 [0,100],0 为底层,值越大层级越高 |
| local_user | boolean | 否 | 是否为本地用户 |
| screen_stream | boolean | 否 | 是否为屏幕流 |
| content_control | TranscoderContentControlType | 否 | 合流输出内容 |
| render_mode | TranscoderRenderMode | 否 | 渲染时,视频内容缩放模式 |
转推直播媒体类型
| 名称 | 值 | 描述 |
|---|---|---|
| kHasAudioAndVideo | 0 | 音视频 |
| kHasAudioOnly | 1 | 音频 |
| kHasVideoOnly | 2 | 视频 |
转推直播视频渲染模式
| 名称 | 值 | 描述 |
|---|---|---|
| kRenderHidden | 1 | 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。 |
| kRenderFit | 2 | 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。 |
| kRenderAdaptive | 3 | 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。 |
本地渲染选项
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| renderMode | RenderMode | 否 | 渲染模式 |
| mirror | boolean | 否 | 是否镜像渲染 |
| 名称 | 值 | 描述 |
|---|---|---|
| FIT | 1 | |
| HIDDEN | 2 |
视频数据
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| channelId | string | 否 | 频道 ID |
| userId | string | 否 | 用户 ID |
| planeY | Uint8Array | 否 | 视频数据缓冲区 Y |
| planeU | Uint8Array | 否 | 视频数据缓冲区 U |
| planeV | Uint8Array | 否 | 视频数据缓冲区 V |
| width | number | 否 | 视频分辨率宽度,单位:像素 |
| height | number | 否 | 视频分辨率高度,单位:像素 |
| planeSizeY | number | 否 | 视频数据缓冲区 Y 大小 |
| planeSizeU | number | 否 | 视频数据缓冲区 U 大小 |
| planeSizeV | number | 否 | 视频数据缓冲区 V 大小 |
| format | number | 否 | 视频帧数据格式 |
| rotation | number | 否 | 视频帧旋转角度 |
音频混音文件播放状态。
| 名称 | 值 | 描述 |
|---|---|---|
| kAudioMixingStatePreloaded | 0 | 混音已加载 |
| kAudioMixingStatePlaying | 1 | 混音正在播放 |
| kAudioMixingStatePaused | 2 | 混音暂停 |
| kAudioMixingStateStopped | 3 | 混音停止 |
| kAudioMixingStateFailed | 4 | 混音播放失败 |
| kAudioMixingStateFinished | 5 | 混音播放结束 |
音频混音文件播放错误码。
| 名称 | 值 | 描述 |
|---|---|---|
| kAudioMixingErrorOk | 0 | 混音错误码,正常 |
| kAudioMixingErrorPreloadFailed | 1 | 预加载失败,找不到混音文件或者文件长度超出 20s |
| kAudioMixingErrorStartFailed | 2 | 混音开启失败,找不到混音文件或者混音文件打开失败 |
| kAudioMixingErrorIdNotFound | 3 | 混音 ID 异常 |
| kAudioMixingErrorSetPositionFailed | 4 | 设置混音文件的播放位置出错 |
| kAudioMixingErrorInValidVolume | 5 | 音量参数不合法,仅支持设置的音量值为[0 400] |
| kAudioMixingErrorLoadConflict | 6 | 播放的文件与预加载的文件不一致,请先使用 UnloadAudioMixing 卸载文件 |
SDK 与信令服务器连接状态。
| 名称 | 值 | 描述 |
|---|---|---|
| kConnectionStateDisconnected | 1 | 连接断开。 |
| kConnectionStateConnecting | 2 | 首次连接,正在连接中。 |
| kConnectionStateConnected | 3 | 首次连接成功。 |
| kConnectionStateReconnecting | 4 | 连接断开后重新连接中。 |
| kConnectionStateReconnected | 5 | 连接断开后重连成功。 |
| kConnectionStateLost | 6 | 网络连接断开超过 10 秒,仍然会继续重连。 |
SDK 网络连接类型。
| 名称 | 值 | 描述 |
|---|---|---|
| kNetworkTypeUnknown | -1 | 网络连接类型未知。 |
| kNetworkTypeDisconnected | 0 | 网络连接已断开。 |
| kNetworkTypeLAN | 1 | 网络连接类型为 LAN 。 |
| kNetworkTypeWIFI | 2 | 网络连接类型为 Wi-Fi(包含热点)。 |
| kNetworkTypeMobile2G | 3 | 网络连接类型为 2G 移动网络。 |
| kNetworkTypeMobile3G | 4 | 网络连接类型为 3G 移动网络。 |
| kNetworkTypeMobile4G | 5 | 网络连接类型为 4G 移动网络。 |
| kNetworkTypeMobile5G | 6 | 网络连接类型为 5G 移动网络。 |
是否开启发布性能回退
| 名称 | 值 | 描述 |
|---|---|---|
| kPerformanceAlarmModeNormal | 0 | 未开启发布性能回退 |
| kPerformanceAlarmModeSimulcast | 1 | 已开启发布性能回退 |
OnPerformanceAlarms 告警的原因
| 名称 | 值 | 描述 |
|---|---|---|
| kPerformanceAlarmReasonBandwidthFallbacked | 0 | 网络原因差,造成了发送性能回退。仅在开启发送性能回退时,会收到此原因。 |
| kPerformanceAlarmReasonBandwidthResumed | 1 | 网络性能恢复,发送性能回退恢复。仅在开启发送性能回退时,会收到此原因。 |
| kPerformanceAlarmReasonPerformanceFallbacked | 2 | 如果未开启发送性能回退,收到此告警时,意味着性能不足; 如果开启了发送性能回退,收到此告警时,意味着性能不足,且已发生发送性能回退。 |
| kPerformanceAlarmReasonPerformanceResumed | 3 | 如果未开启发送性能回退,收到此告警时,意味着性能不足已恢复; 如果开启了发送性能回退,收到此告警时,意味着性能不足已恢复,且已发生发送性能回退恢复。 |
当前媒体设备类型
| 名称 | 值 | 描述 |
|---|---|---|
| kMediaDeviceTypeAudioRenderDevice | 0 | 音频渲染设备类型 |
| kMediaDeviceTypeAudioCaptureDevice | 1 | 音频采集设备类型 |
| kMediaDeviceTypeVideoCaptureDevice | 3 | 视频采集设备类型 |
媒体设备状态类型
| 名称 | 值 | 描述 |
|---|---|---|
| kMediaDeviceStateStarted | 1 | 设备已开启 |
| kMediaDeviceStateStopped | 2 | 设备已停止 |
| kMediaDeviceStateRuntimeError | 3 | 设备运行时错误 |
| kMediaDeviceStateAdded | 10 | 设备已插入 |
| kMediaDeviceStateRemoved | 11 | 设备被移除 |
媒体设备错误类型
| 名称 | 值 | 描述 |
|---|---|---|
| kMediaDeviceErrorOK | 0 | 媒体设备正常 |
| kMediaDeviceErrorDeviceNoPermission | 1 | 没有权限启动媒体设备 |
| kMediaDeviceErrorDeviceBusy | 2 | 媒体设备已经在使用中 |
| kMediaDeviceErrorDeviceFailure | 3 | 媒体设备错误 |
| kMediaDeviceErrorDeviceNotFound | 4 | 未找到指定的媒体设备 |
| kMediaDeviceErrorDeviceDisconnected | 5 | 媒体设备被移除 |
App 使用的 cpu 和内存信息。
信息由 SDK 周期性(2s)地通过 OnSysStats 回调通知给用户。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| cpu_cores | number | 否 | 当前系统 CPU 核数 |
| cpu_app_usage | number | 否 | 当前应用的 cpu 使用率,取值范围为 [0, 1]。 |
| cpu_total_usage | number | 否 | 当前系统的 cpu 使用率,取值范围为 [0, 1]。 |
| memory_usage | number | 否 | 当前应用的内存使用量(单位 MB) |
| full_memory | number | 否 | 全量内存(单位字节) |
| total_memory_usage | number | 否 | 系统已使用内存(单位字节) |
| free_memory | number | 否 | 空闲可分配内存(单位字节) |
| memory_ratio | number | 否 | 当前应用的内存使用率(单位 %) |
| total_memory_ratio | number | 否 | 系统内存使用率(单位 %) |
用户加入房间的类型。
| 名称 | 值 | 描述 |
|---|---|---|
| kJoinRoomTypeFirst | 0 | 首次加入房间。用户手动调用 joinRoom ,收到加入成功。 |
| kJoinRoomTypeReconnected | 1 | 重新加入房间。用户网络较差,失去与服务器的连接,进行重连时收到加入成功。 |
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| userId | string | 否 | |
| volume | number | 否 |
通话相关的统计信息
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| txLostrate | number | 否 | 当前应用的上行丢包率,取值范围为 [0, 1]。 |
| rxLostrate | number | 否 | 当前应用的下行丢包率,取值范围为 [0, 1]。 |
| rtt | number | 否 | 客户端到服务端数据传输的往返时延(单位 ms) |
| duration | number | 否 | 通话时长,单位为秒,累计值 |
| tx_bytes | number | 否 | 本地用户的总发送字节数 (bytes),累计值 |
| rx_bytes | number | 否 | 本地用户的总接收字节数 (bytes),累计值 |
| tx_kbitrate | number | 否 | 发送码率 (kbps),获取该数据时的瞬时值 |
| rx_kbitrate | number | 否 | 接收码率 (kbps),获取该数据时的瞬时值 |
| rx_audio_kbitrate | number | 否 | 音频接收码率 (kbps),获取该数据时的瞬时值 |
| tx_audio_kbitrate | number | 否 | 音频发送码率 (kbps),获取该数据时的瞬时值 |
| rx_video_kbitrate | number | 否 | 视频接收码率 (kbps),获取该数据时的瞬时值 |
| tx_video_kbitrate | number | 否 | 视频发送码率 (kbps),获取该数据时的瞬时值 |
| user_count | number | 否 | 当前房间内的用户人数 |
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| audio_stats | LocalAudioStats | 否 | 本地设备发送音频流的统计信息,详见 LocalAudioStats |
| video_stats | LocalVideoStats | 否 | 本地设备发送视频流的统计信息,详见 LocalVideoStats |
| local_tx_quality | NetworkQuality | 否 | 所属用户的媒体流上行网络质量,详见 NetworkQuality |
| local_rx_quality | NetworkQuality | 否 | 所属用户的媒体流下行网络质量,详见 NetworkQuality |
| is_screen | boolean | 否 | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
本地音频流统计信息,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通过 OnLocalStreamStats
通知用户发布的音频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| audio_loss_rate | number | 否 | 音频丢包率。此次统计周期内的音频上行丢包率,单位为 % ,取值范围为 [0, 1]。 |
| send_kbitrate | number | 否 | 发送码率。此次统计周期内的音频发送码率,单位为 kbps 。 |
| record_sample_rate | number | 否 | 采集采样率。此次统计周期内的音频采集采样率信息,单位为 Hz 。 |
| stats_interval | number | 否 | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | number | 否 | 往返时延。单位为 ms 。 |
| num_channels | number | 否 | 音频声道数。 |
| sent_sample_rate | number | 否 | 音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。 |
本地视频流统计信息,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通过 OnLocalStreamStats
通知用户发布的视频流在此次统计周期内的发送状况。此数据结构即为回调给用户的参数类型。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| sent_kbitrate | number | 否 | 发送码率。此次统计周期内的视频发送码率,单位为 kbps 。 |
| input_frame_rate | number | 否 | 采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。 |
| sent_frame_rate | number | 否 | 发送帧率。此次统计周期内的视频发送帧率,单位为 fps 。 |
| encoder_output_frame_rate | number | 否 | 编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。 |
| renderer_output_frame_rate | number | 否 | 本地渲染帧率。此次统计周期内的本地视频渲染帧率,单位为 fps 。 |
| target_kbitrate | number | 否 | 目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。 |
| target_frame_rate | number | 否 | 目标发送帧率。当前编码器在此次统计周期内的目标发送帧率,单位为 fps 。 |
| stats_interval | number | 否 | 统计间隔,单位为 ms 。 |
| video_loss_rate | number | 否 | 视频丢包率。此次统计周期内的视频上行丢包率,取值范围为 [0,1] 。 |
| rtt | number | 否 | 往返时延,单位为 ms 。 |
| encoded_bitrate | number | 否 | 视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。 |
| encoded_frame_width | number | 否 | 视频编码宽度,单位为 px 。 |
| encoded_frame_height | number | 否 | 视频编码高度,单位为 px 。 |
| encoded_frame_count | number | 否 | 此次统计周期内发送的视频帧总数。 |
| codec_type | VideoCodecType | 否 | 视频的编码类型,具体参考 VideoCodecType 。 |
| is_screen | boolean | 否 | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
视频的编码类型
| 名称 | 值 | 描述 |
|---|---|---|
| kVideoCodecUnknown | 0 | 未知类型 |
| kVideoCodecH264 | 1 | 标准H264 |
| kVideoCodecByteVC1 | 2 | 标准ByteVC1 |
媒体流网络质量。
| 名称 | 值 | 描述 |
|---|---|---|
| kNetworkQualityUnknown | 0 | 网络质量未知。 |
| kNetworkQualityExcellent | 1 | 网络质量极好。 |
| kNetworkQualityGood | 2 | 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。 |
| kNetworkQualityPoor | 3 | 主观感受有瑕疵但不影响沟通。 |
| kNetworkQualityBad | 4 | 勉强能沟通但不顺畅。 |
| kNetworkQualityVbad | 5 | 网络质量非常差,基本不能沟通。 |
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s 。
订阅远端用户发布音/视频流成功后,SDK 会周期性地通过 OnRemoteStreamStats 通知本地用户订阅的远端音/视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| uid | String | 否 | 用户 ID 。音频来源的远端用户 ID 。 |
| audio_stats | RemoteAudioStats | 否 | 远端音频流的统计信息,详见 RemoteAudioStats |
| video_stats | RemoteVideoStats | 否 | 远端视频流的统计信息,详见 RemoteVideoStats |
| remote_tx_quality | NetworkQuality | 否 | 所属用户的媒体流上行网络质量,详见 NetworkQuality |
| remote_rx_quality | NetworkQuality | 否 | 所属用户的媒体流下行网络质量,详见 NetworkQuality |
| is_screen | boolean | 否 | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
远端音频流统计信息,统计周期为 2s。
本地用户订阅远端音频流成功后,SDK 会周期性地通过 OnRemoteStreamStats 通知本地用户订阅的音频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| audio_loss_rate | number | 否 | 音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。 |
| received_kbitrate | number | 否 | 接收码率。统计周期内的音频接收码率,单位为 kbps 。 |
| stall_count | number | 否 | 音频卡顿次数。统计周期内的卡顿次数。 |
| stall_duration | number | 否 | 音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。 |
| e2e_delay | number | 否 | 用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。 |
| playout_sample_rate | number | 否 | 播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。 |
| stats_interval | number | 否 | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | number | 否 | 客户端到服务端数据传输的往返时延,单位为 ms。 |
| total_rtt | number | 否 | 发送端——服务端——接收端全链路数据传输往返时延。单位为 ms 。 |
| quality | number | 否 | 远端用户发送的音频流质量。值含义参考 NetworkQuality 。 |
| jitter_buffer_delay | number | 否 | 因引入 jitter buffer 机制导致的延时。单位为 ms 。 |
| num_channels | number | 否 | 音频声道数。 |
| received_sample_rate | number | 否 | 音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。 |
| frozen_rate | number | 否 | 远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。 |
| concealed_samples | number | 否 | 音频 PLC 样点总个数。 |
| concealment_event | number | 否 | PLC 累计次数。 |
| dec_sample_rate | number | 否 | 音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。 |
| dec_duration | number | 否 | 解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。 |
远端音频流统计信息,统计周期为 2s 。
本地用户订阅远端音频流成功后,SDK 会周期性地通过 OnRemoteStreamStats 通知本地用户订阅的远端视频流在此次统计周期内的接收状况。此数据结构即为回调给本地用户的参数类型。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| width | number | 否 | 视频宽度 |
| height | number | 否 | 视频高度 |
| video_loss_rate | number | 否 | 视频丢包率。统计周期内的视频下行丢包率,单位为 % ,取值范围:[0,1] 。 |
| received_kbitrate | number | 否 | 接收码率。统计周期内的视频接收码率,单位为 kbps 。 |
| decoder_output_frame_rate | number | 否 | 解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。 |
| renderer_output_frame_rate | number | 否 | 渲染帧率。统计周期内的视频渲染帧率,单位 fps 。 |
| stall_count | number | 否 | 卡顿次数。统计周期内的卡顿次数。 |
| stall_duration | number | 否 | 卡顿时长。统计周期内的视频卡顿总时长。单位 ms 。 |
| e2e_delay | number | 否 | 用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。 |
| is_screen | number | 否 | 所属用户的媒体流是否为屏幕流。你可以知道当前数据来自主流还是屏幕流。 |
| stats_interval | number | 否 | 统计间隔,此次统计周期的间隔,单位为 ms 。 |
| rtt | number | 否 | 往返时延,单位为 ms 。 |
| frozen_rate | number | 否 | 远端用户在进房后发生视频卡顿的累计时长占视频总有效时长的百分比(%)。视频有效时长是指远端用户进房发布视频流后,除停止发送视频流和禁用视频模块之外的视频时长。 |
| video_index | number | 否 | 对应多种分辨率的流的下标,详见 VideoSolutionDescription |
用户离线原因。
房间内的远端用户离开房间时,本端用户会收到 OnUserOffline 回调通知,此枚举类型为回调的用户离线原因。
| 名称 | 值 | 描述 |
|---|---|---|
| USER_OFFLINE_QUIT | 0 | 用户主动离开。 |
| USER_OFFLINE_DROPPED | 1 | 用户掉线。 |
停止/启动发送音/视频流的状态
| 名称 | 值 | 描述 |
|---|---|---|
| kMuteStateOff | 0 | 启动发送音/视频流的状态 |
| kMuteStateOn | 1 | 停止发送音/视频流的状态 |
流属性
| 名称 | 值 | 描述 |
|---|---|---|
| kStreamIndexMain | 0 | 主流。 包括: + 通过默认摄像头/麦克风采集到的视频/音频; + 通过自定义设备采集到的视频/音频。 |
| kStreamIndexScreen | 1 | 屏幕流。 屏幕共享时共享的视频流,或来自声卡的本地播放音频流。 |
远端流信息
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| room_id | String | 否 | 房间 ID |
| user_id | String | 否 | 用户 ID |
| stream_index | StreamIndex | 否 | 流属性,主流或屏幕流。参看 StreamIndex |
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| userId | string | 否 | 用户 ID |
| isScreen | boolean | 否 | 是否屏幕共享流 |
| hasVideo | boolean | 否 | 是否包含视频 |
| hasAudio | boolean | 否 | 是否包含音频 |
| profiles | VideoSolutionDescription[] | 否 | 视频分辨率描述 |
视频属性
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| width | number | 否 | 视频的宽 |
| height | number | 否 | 视频的高 |
| fps | number | 否 | 画面每秒传输帧数 |
| maxSendKbps | number | 否 | 最大发送速率(千比特每秒) means auto calculate means disable send video |
| scaleMode | ScaleMode | 否 | 缩放模式,详见 ScaleMode |
| codecName | VideoCodecType | 否 | 编码类型,详见 VideoCodecType |
| codecMode | CodecMode | 否 | 编码模式,详见 CodecMode |
| encodePreference | EncodePreference | 否 | 视频编码质量偏好,详见 EncodePreference |
视频编码模式
| 名称 | 值 | 描述 |
|---|---|---|
| AutoMode | 0 | 自动选择 |
| HardwareMode | 1 | 硬编码 |
| SoftwareMode | 2 | 软编码 |
房间内远端流被移除的原因。
| 名称 | 值 | 描述 |
|---|---|---|
| kStreamRemoveReasonUnpublish | 0 | 远端用户停止发布流。 |
| kStreamRemoveReasonPublishFailed | 1 | 远端用户发布流失败。 |
| kStreamRemoveReasonKeepLiveFailed | 2 | 保活失败。 |
| kStreamRemoveReasonClientDisconnected | 3 | 远端用户断网。 |
| kStreamRemoveReasonRepublish | 4 | 远端用户重新发布流。 |
| kStreamRemoveReasonOther | 5 | 其他原因。 |
流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| uid | String | 否 | 订阅的音视频流的发布者的用户 ID。 |
| is_screen | boolean | 否 | 是否是屏幕流。 |
| before_video_index | number | 否 | 流切换前本地用户订阅的视频流的分辨率对应的索引。 |
| after_video_index | number | 否 | 流切换后本地用户订阅的视频流的分辨率对应的索引。 |
| before_enable | boolean | 否 | 流切换前是否有视频流。 |
| after_enable | boolean | 否 | 流切换后是否有视频流。 |
| reason | FallbackOrRecoverReason | 否 | 触发流回退的原因,详见类型 FallbackOrRecoverReason 。 |
远端订阅流发生回退或恢复的原因
| 名称 | 值 | 描述 |
|---|---|---|
| kFallbackOrRecoverReasonUnknown | -1 | 其他原因,非带宽和性能原因引起的回退或恢复。默认值 |
| kFallbackOrRecoverReasonSubscribeFallbackByBandwidth | 0 | 由带宽不足导致的订阅端音视频流回退。 |
| kFallbackOrRecoverReasonSubscribeFallbackByPerformance | 1 | 由性能不足导致的订阅端音视频流回退。 |
| kFallbackOrRecoverReasonSubscribeRecoverByBandwidth | 2 | 由带宽恢复导致的订阅端音视频流恢复。 |
| kFallbackOrRecoverReasonSubscribeRecoverByPerformance | 3 | 由性能恢复导致的订阅端音视频流恢复。 |
| kFallbackOrRecoverReasonPublishFallbackByBandwidth | 4 | 由带宽不足导致的发布端音视频流回退。 |
| kFallbackOrRecoverReasonPublishFallbackByPerformance | 5 | 由性能不足导致的发布端音视频流回退。 |
| kFallbackOrRecoverReasonPublishRecoverByBandwidth | 6 | 由带宽恢复导致的发布端音视频流恢复。 |
| kFallbackOrRecoverReasonPublishRecoverByPerformance | 7 | 由性能恢复导致的发布端音视频流恢复。 |
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| width | number | 否 | 宽(像素) |
| height | number | 否 | 高(像素) |
| rotation | VideoRotation | 否 | 视频帧顺时针旋转角度。参看 VideoRotation 。 |
视频帧旋转角度
| 名称 | 值 | 描述 |
|---|---|---|
| kVideoRotation0 | 0 | 顺时针旋转 0 度 |
| kVideoRotation90 | 90 | 顺时针旋转 90 度 |
| kVideoRotation180 | 180 | 顺时针旋转 180 度 |
| kVideoRotation270 | 270 | 顺时针旋转 270 度 |
本地音频流状态。
SDK 通过 OnLocalAudioStateChanged 回调本地音频流状态
| 名称 | 值 | 描述 |
|---|---|---|
| kLocalAudioStreamStateStopped | 0 | 本地音频默认初始状态。 麦克风停止工作时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateRecording | 1 | 本地音频录制设备启动成功。 采集到音频首帧时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateEncoding | 2 | 本地音频首帧编码成功。 音频首帧编码成功时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateFailed | 3 | 本地音频启动失败,在以下时机回调该状态: + 本地录音设备启动失败,对应错误码 kLocalAudioStreamErrorRecordFailure + 检测到没有录音设备权限,对应错误码 kLocalAudioStreamErrorDeviceNoPermission + 音频编码失败,对应错误码 kLocalAudioStreamErrorEncodeFailure |
远端音频流状态。
用户可以通过 OnRemoteAudioStateChanged 了解该状态。
| 名称 | 值 | 描述 |
|---|---|---|
| kRemoteAudioStateStopped | 0 | 不接收远端音频流。 以下情况下会触发回调 OnRemoteAudioStateChanged : + 本地用户停止接收远端音频流,对应原因是: kRemoteAudioStateChangeReasonLocalMuted + 远端用户停止发送音频流,对应原因是: kRemoteAudioStateChangeReasonRemoteMuted + 远端用户离开房间,对应原因是: kRemoteAudioStateChangeReasonRemoteOffline |
| kRemoteAudioStateStarting | 1 | 开始接收远端音频流首包。 刚收到远端音频流首包会触发回调 OnRemoteAudioStateChanged , 对应原因是: kRemoteAudioStateChangeReasonLocalUnmuted。 |
| kRemoteAudioStateDecoding | 2 | 远端音频流正在解码,正常播放。 以下情况下会触发回调 OnRemoteAudioStateChanged : + 成功解码远端音频首帧,对应原因是: kRemoteAudioStateChangeReasonLocalUnmuted + 网络由阻塞恢复正常,对应原因是: kRemoteAudioStateChangeReasonNetworkRecovery + 本地用户恢复接收远端音频流,对应原因是: kRemoteAudioStateChangeReasonLocalUnmuted + 远端用户恢复发送音频流,对应原因是: kRemoteAudioStateChangeReasonRemoteUnmuted |
| kRemoteAudioStateFrozen | 3 | 远端音频流卡顿。 网络阻塞、丢包率大于 40% 时,会触发回调 OnRemoteAudioStateChanged , 对应原因是: kRemoteAudioStateChangeReasonNetworkCongestion |
接收远端音频流状态改变的原因。
用户可以通过 OnRemoteAudioStateChanged 了解该原因。
| 名称 | 值 | 描述 |
|---|---|---|
| kRemoteAudioStateChangeReasonInternal | 0 | 内部原因 |
| kRemoteAudioStateChangeReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteAudioStateChangeReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteAudioStateChangeReasonLocalMuted | 3 | 本地用户停止接收远端音频流 |
| kRemoteAudioStateChangeReasonLocalUnmuted | 4 | 本地用户恢复接收远端音频流 |
| kRemoteAudioStateChangeReasonRemoteMuted | 5 | 远端用户停止发送音频流 |
| kRemoteAudioStateChangeReasonRemoteUnmuted | 6 | 远端用户恢复发送音频流 |
| kRemoteAudioStateChangeReasonRemoteOffline | 7 | 远端用户离开房间 |
本地视频流状态
| 名称 | 值 | 描述 |
|---|---|---|
| kLocalVideoStreamStateStopped | 0 | 本地视频采集停止状态 |
| kLocalVideoStreamStateRecording | 1 | 本地视频采集设备启动成功 |
| kLocalVideoStreamStateEncoding | 2 | 本地视频采集后,首帧编码成功 |
| kLocalVideoStreamStateFailed | 3 | 本地视频采集设备启动失败 |
本地视频状态改变时的错误码
| 名称 | 值 | 描述 |
|---|---|---|
| kLocalVideoStreamErrorOk | 0 | 状态正常 |
| kLocalVideoStreamErrorFailure | 1 | 本地视频流发布失败 |
| kLocalVideoStreamErrorDeviceNoPermission | 2 | 没有权限启动本地视频采集设备 |
| kLocalVideoStreamErrorDeviceBusy | 3 | 本地视频采集设备被占用 |
| kLocalVideoStreamErrorDeviceNotFound | 4 | 本地视频采集设备不存在 |
| kLocalVideoStreamErrorCaptureFailure | 5 | 本地视频采集失败,建议检查采集设备是否正常工作 |
| kLocalVideoStreamErrorEncodeFailure | 6 | 本地视频编码失败 |
| kLocalVideoStreamErrorDeviceDisconnected | 7 | 本地视频采集设备被移除 |
远端视频流状态。状态改变时,会收到回调: OnRemoteVideoStateChanged
| 名称 | 值 | 描述 |
|---|---|---|
| kRemoteVideoStateStopped | 0 | 远端视频流默认初始状态,视频尚未开始播放。 |
| kRemoteVideoStateStarting | 1 | 本地用户已接收远端视频流首包。 |
| kRemoteVideoStateDecoding | 2 | 远端视频流正在解码,正常播放。 |
| kRemoteVideoStateFrozen | 3 | 远端视频流卡顿,可能有网络等原因。 |
| kRemoteVideoStateFailed | 4 | 远端视频流播放失败。 |
远端视频流状态改变的原因
| 名称 | 值 | 描述 |
|---|---|---|
| kRemoteVideoStateChangeReasonInternal | 0 | 内部原因 |
| kRemoteVideoStateChangeReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteVideoStateChangeReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteVideoStateChangeReasonLocalMuted | 3 | 本地用户停止接收远端视频流或本地用户禁用视频模块 |
| kRemoteVideoStateChangeReasonLocalUnmuted | 4 | 本地用户恢复接收远端视频流或本地用户启用视频模块 |
| kRemoteVideoStateChangeReasonRemoteMuted | 5 | 远端用户停止发送视频流或远端用户禁用视频模块 |
| kRemoteVideoStateChangeReasonRemoteUnmuted | 6 | 远端用户恢复发送视频流或远端用户启用视频模块 |
| kRemoteVideoStateChangeReasonRemoteOffline | 7 | 远端用户离开频道。 状态转换参考 OnStreamRemove |
用户信息
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| user_id | String | 否 | 用户 id |
| meta_data | String | 否 | 元数据 |
首帧发送状态
| 名称 | 值 | 描述 |
|---|---|---|
| kFirstFrameSendStateSending | 0 | 发送中 |
| kFirstFrameSendStateSent | 1 | 发送成功 |
| kFirstFrameSendStateEnd | 2 | 发送失败 |
首帧播放状态
| 名称 | 值 | 描述 |
|---|---|---|
| kFirstFramePlayStatePlaying | 0 | 播放中 |
| kFirstFramePlayStatePlayed | 1 | 播放成功 |
| kFirstFramePlayStateEnd | 2 | 播放失败 |
发送用户消息或者房间消息的结果
| 名称 | 值 | 描述 |
|---|---|---|
| MESSAGE_CODE_SUCCESS | 0 | 用户P2P消息发送成功 |
| MESSAGE_CODE_ROOM_SUCCESS | 200 | 房间Broadcast消息发送成功 |
| MESSAGE_CODE_ERROR_TIMEOUT | 1 | 发送超时,没有发送 |
| MESSAGE_CODE_ERROR_BROKEN | 2 | 通道断开,没有发送 |
| MESSAGE_CODE_ERROR_NOT_RECEIVER | 3 | 找不到接收方 |
| MESSAGE_CODE_ERROR_NOT_JOIN | 100 | 没有加入房间 |
| MESSAGE_CODE_ERROR_NO_CONNECTION | 102 | 没有可用的数据传输通道连接 |
| MESSAGE_CODE_ERROR_EXCEED_MAX_LENGTH | 103 | 消息超过最大长度,当前为64KB |
| MESSAGE_CODE_ERROR_EMPTY_USER | 104 | 用户id为空 |
| MESSAGE_CODE_ERROR_UNKNOWN | 1000 | 未知错误 |
合流事件事件类型
| 名称 | 值 | 描述 |
|---|---|---|
| kStreamMixingStart | 1 | 合流开始 |
| kStreamMixingStartSuccess | 2 | 合流启动成功 |
| kStreamMixingStartFailed | 3 | 合流启动失败 |
| kStreamMixingUpdate | 4 | 更新合流 |
| kStreamMixingStop | 5 | 合流结束 |
| kStreamMixingChangeMixType | 6 | 服务端合流/端云一体合流 |
| kStreamMixingFirstAudioFrameByClientMix | 7 | 收到客户端合流音频首帧 |
| kStreamMixingFirstVideoFrameByClientMix | 8 | 收到客户端合流视频首帧 |
| kStreamMixingStopTimeoutByServer | 9 | 停止服务端合流超时 |
| kStreamMixingUpdateTimeout | 10 | 更新合流超时 |
| kStreamMixingRequestParamError | 11 | 合流布局参数错误 |
合流类型
| 名称 | 值 | 描述 |
|---|---|---|
| kStreamMixingTypeByServer | 0 | 服务端合流 |
| kStreamMixingTypeByClient | 1 | 客户端合流 |
本地录制的详细信息
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| file_path | String | 否 | 录制文件的绝对路径,包含文件名和文件后缀 |
| video_codec_type | VideoCodecType | 否 | 录制文件的视频编码类型,参看 VideoCodecType |
| width | number | 否 | 录制视频的宽,单位:像素。纯音频录制请忽略该字段 |
| height | number | 否 | 录制视频的高,单位:像素。纯音频录制请忽略该字段 |
本地录制进度
| 名称 | 类型 | 只读 | 描述 |
|---|---|---|---|
| duration | number | 否 | 当前文件的累计录制时长,单位:毫秒 |
| file_size | number | 否 | 当前录制文件的大小,单位:byte |